Versions:

  • 1.0.0

scratchtext is a text-based language and command-line tool published by rchase999 for working with Scratch projects in a plain-text form. Its purpose is to bridge the gap between Scratch's visual block editor and traditional text-based workflows: the tool compiles a readable .scratch source file into a fully functional Scratch .sb3 project, and it can also decompile any existing .sb3 project back into .scratch source code along with its associated images and sounds. This bidirectional conversion makes scratchtext useful for a range of use cases, including version-controlling Scratch projects with standard tools such as Git, reviewing project logic in a readable diff-friendly format, editing large projects with a familiar text editor, and migrating or archiving projects outside the Scratch editor. A notable feature is its handling of media assets: users can drop their own PNG, JPG, or SVG images into a folder and reference them directly as sprites and backdrops, allowing custom artwork to be integrated into a project without manual import through the Scratch interface. Fidelity is a central design goal, and every block round-trips losslessly between the text and project formats. This lossless guarantee extends to all built-in Scratch extensions, including Pen, Music, and Text to Speech, as well as custom TurboWarp extensions, so projects that rely on extension functionality can be compiled and decompiled without data loss. Categorized as a development tool and compiler/decompiler utility, scratchtext targets users who want programmatic or text-first control over Scratch content, such as educators, hobbyist developers, and anyone maintaining Scratch projects in a reproducible, scriptable pipeline. The software is currently at version 1.0.0, and only one version has been released to date, making 1.0.0 both the initial and the current release of the tool.

Tags: